repos:
  - repo: https://github.com/asottile/pyupgrade
    rev: v3.15.1
    hooks:
      - id: pyupgrade
        exclude: ^modules/grpc

  - repo: https://github.com/asottile/add-trailing-comma
    rev: v3.1.0
    hooks:
      - id: add-trailing-comma
        exclude: ^modules/grpc

  - repo: https://github.com/crate-ci/typos
    rev: v1.19.0
    hooks:
      - id: typos
        exclude: ^modules/grpc

  - repo: http://github.com/psf/black
    rev: 24.3.0
    hooks:
      - id: black
        args: [
          --line-length=120,
          --target-version=py310,
        ]
        exclude: ^modules/grpc

  - repo: https://github.com/pycqa/isort
    rev: 5.13.2
    hooks:
      - id: isort
        args: [ '--order-by-type', '--length-sort', "--profile", "black", "--filter-files" ]
        exclude: ^modules/grpc

  - repo: http://github.com/pycqa/flake8
    rev: 7.0.0
    hooks:
      - id: flake8
        exclude: ^modules/grpc
        additional_dependencies:
          - flake8-bugbear
          - flake8-print
          - flake8-annotations
          - flake8-has-docstring

  - repo: http://github.com/charliermarsh/ruff-pre-commit
    rev: v0.3.3
    hooks:
      - id: ruff
        args: [ --fix ]
        exclude: ^modules/grpc

  #  - repo: http://github.com/pre-commit/mirrors-mypy
  #    rev: v1.9.0
  #    hooks:
  #      - id: mypy
  #        exclude: ^packages
